package com.nut.spp.service;

import com.nut.spp.api.resp.DeptVo;
import com.nut.spp.common.Result;
import com.nut.spp.entity.SysDept;

import java.util.List;
import java.util.Set;

public interface SysDeptService {

    /**
     * 列表查询
     *
     * @param name
     * @return
     */
    List<SysDept> list(String name);

    SysDept getById(Integer id);

    void save(SysDept sysDept);

    void updateById(SysDept sysDept);

    /**
     * 获取菜单  pid=0为第一级
     *
     * @param pid
     * @return
     */
    List<SysDept> getByPid(Integer pid);

    /**
     * 获取菜单上级
     * @param id
     * @param depts
     * @return
     */
    List<DeptVo> getSuperior(Integer id, List<DeptVo> depts);

    List<DeptVo> buildTree(List<DeptVo> depts);

    /**
     * 删除所有菜单
     *
     * @param ids
     */
    Result deleteByIds(Set<Integer> ids);

}
